
package com.test.services.seller.subscriptioninformationservicemessages;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;


/**
 * <p>Java class for SubscriptionInformationInputType complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="SubscriptionInformationInputType">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="SubscriptionId" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="SubscriptionType" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="AppUUID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="eBayEAISTokenID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="AC_App_Key" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="AC_Dev_Key" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="Fee_Paid" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
 *         &lt;element name="SubscriptionStartDate" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
 *         &lt;element name="SubscriptionEndDate" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
 *         &lt;element name="Remark" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SubscriptionInformationInputType", propOrder = {
    "subscriptionId",
    "subscriptionType",
    "appUUID",
    "eBayEAISTokenID",
    "acAppKey",
    "acDevKey",
    "feePaid",
    "subscriptionStartDate",
    "subscriptionEndDate",
    "remark"
})
public class SubscriptionInformationInputType {

    @XmlElement(name = "SubscriptionId", required = true)
    protected String subscriptionId;
    @XmlElement(name = "SubscriptionType", required = true)
    protected String subscriptionType;
    @XmlElement(name = "AppUUID")
    protected String appUUID;
    protected String eBayEAISTokenID;
    @XmlElement(name = "AC_App_Key", required = true)
    protected String acAppKey;
    @XmlElement(name = "AC_Dev_Key", required = true)
    protected String acDevKey;
    @XmlElement(name = "Fee_Paid", required = true)
    protected BigDecimal feePaid;
    @XmlElement(name = "SubscriptionStartDate", required = true)
    @XmlSchemaType(name = "dateTime")
    protected XMLGregorianCalendar subscriptionStartDate;
    @XmlElement(name = "SubscriptionEndDate", required = true)
    @XmlSchemaType(name = "dateTime")
    protected XMLGregorianCalendar subscriptionEndDate;
    @XmlElement(name = "Remark")
    protected List<String> remark;

    /**
     * Gets the value of the subscriptionId property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSubscriptionId() {
        return subscriptionId;
    }

    /**
     * Sets the value of the subscriptionId property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSubscriptionId(String value) {
        this.subscriptionId = value;
    }

    /**
     * Gets the value of the subscriptionType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSubscriptionType() {
        return subscriptionType;
    }

    /**
     * Sets the value of the subscriptionType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSubscriptionType(String value) {
        this.subscriptionType = value;
    }

    /**
     * Gets the value of the appUUID property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAppUUID() {
        return appUUID;
    }

    /**
     * Sets the value of the appUUID property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAppUUID(String value) {
        this.appUUID = value;
    }

    /**
     * Gets the value of the eBayEAISTokenID property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getEBayEAISTokenID() {
        return eBayEAISTokenID;
    }

    /**
     * Sets the value of the eBayEAISTokenID property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setEBayEAISTokenID(String value) {
        this.eBayEAISTokenID = value;
    }

    /**
     * Gets the value of the acAppKey property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getACAppKey() {
        return acAppKey;
    }

    /**
     * Sets the value of the acAppKey property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setACAppKey(String value) {
        this.acAppKey = value;
    }

    /**
     * Gets the value of the acDevKey property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getACDevKey() {
        return acDevKey;
    }

    /**
     * Sets the value of the acDevKey property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setACDevKey(String value) {
        this.acDevKey = value;
    }

    /**
     * Gets the value of the feePaid property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getFeePaid() {
        return feePaid;
    }

    /**
     * Sets the value of the feePaid property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setFeePaid(BigDecimal value) {
        this.feePaid = value;
    }

    /**
     * Gets the value of the subscriptionStartDate property.
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getSubscriptionStartDate() {
        return subscriptionStartDate;
    }

    /**
     * Sets the value of the subscriptionStartDate property.
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setSubscriptionStartDate(XMLGregorianCalendar value) {
        this.subscriptionStartDate = value;
    }

    /**
     * Gets the value of the subscriptionEndDate property.
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getSubscriptionEndDate() {
        return subscriptionEndDate;
    }

    /**
     * Sets the value of the subscriptionEndDate property.
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setSubscriptionEndDate(XMLGregorianCalendar value) {
        this.subscriptionEndDate = value;
    }

    /**
     * Gets the value of the remark property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the remark property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getRemark().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getRemark() {
        if (remark == null) {
            remark = new ArrayList<String>();
        }
        return this.remark;
    }

}
